define(['jquery', 'bootstrap', 'fileinput','zh'], function ($,undefined,fileinput,zh) {

            var bizid = "1001";
            var myfileinput = {
                // 初始化fileinput控件（第一次初始化）
                /**
                 * 入参说明
                 * ctrlName：控件ID值
                 * uploadUrl：上传地址
                 * shwoKey：是否显示上传按钮和上传框 主要用于查看
                 * imgPathArray：初始化数据path数组 主要用于查看和修改
                 * imgNameArray：初始化数据name数组
                 * **/
                init:{
                    initSubmit: function (ctrlName, uploadUrl,shwoKey,imgPathArray,imgNameArray) {
                        var control = $('#' + ctrlName);
                        // 初始化上传控件的样式
                        control.fileinput({
                           uploadUrl: "/FileUpload/Upload",//上传的地址
                            msgPlaceholder:'请选择后缀名为xls、xlsx、txt文件',
                            uploadAsync: true,              //异步上传
                            language: 'zh',                 //设置语言
                            showCaption: true,              //是否显示标题
                            showUpload: true,               //是否显示上传按钮
                            showRemove: true,               //是否显示移除按钮
                            showPreview : true,             //是否显示预览按钮
                            browseClass: "btn btn-primary", //按钮样式 
                            dropZoneEnabled: false,         //是否显示拖拽区域
                            allowedFileExtensions: ["xls", "xlsx","txt"], //接收的文件后缀
                            maxFileCount: 10,                        //最大上传文件数限制
                            previewFileIcon: '<i class="glyphicon glyphicon-file"></i>',
                            allowedPreviewTypes: null,
                            previewFileIconSettings: {
                                'docx':'<i class="glyphicon glyphicon-file"></i>',
                                'xlsx':'<i class="fa fa-file-o"></i>',
                                'pptx': '<i class="glyphicon glyphicon-file"></i>',
                                'jpg': '<i class="glyphicon glyphicon-picture"></i>',
                                'pdf': '<i class="glyphicon glyphicon-file"></i>',
                                'zip': '<i class="fa fa-file-o"></i>',
                            },
                            uploadExtraData: {  //上传的时候，增加的附加参数
                                folder: '数据导入文件', guid: $("#AttachGUID").val()
                            }
                        })
                        .on('fileuploaded',function(event,data,previewId,index){
                            var form = data.form,file = data.files,extra=data.extra,
                            response = data.response, reader = data.reader;
                            var res = data.response; //返回结果
                             if (res.Success) {
                                showTips('上传成功');
                                var guid = $("#AttachGUID").val();

                                //提示用户Excel格式是否正常，如果正常加载数据
                                $.ajax({
                                    url: '/TestUser/CheckExcelColumns?guid=' + guid,
                                    type: 'get',
                                    dataType: 'json',
                                    success: function (data) {
                                        if (data.Success) {
                                            InitImport(guid); //重新刷新表格数据
                                            showToast("文件已上传，数据加载完毕！");

                                            //重新刷新GUID，以及清空文件，方便下一次处理
                                            RefreshExcel();
                                        }
                                        else {
                                            showToast("上传的Excel文件检查不通过。请根据页面右上角的Excel模板格式进行数据录入。", "error");
                                        }
                                    }
                                });
                            }
                            else {
                                showTips('上传失败');
                            }
                       });
                    }
                }
            };
            return myfileinput;
              //重新更新GUID的值，并清空文件
                function RefreshExcel() {
                    $("#AttachGUID").val(newGuid());
                    $('#excelFile').fileinput('clear');//清空所有文件
                    
                    //附加参数初始化后一直不会变化，如果需要发生变化，则需要使用refresh进行更新
                    $('#excelFile').fileinput('refresh', {
                        uploadExtraData: { folder: '数据导入文件', guid: $("#AttachGUID").val() },
                    });
                };
                //根据条件查询并绑定结果
                var $import;
                function InitImport(guid) {
                    var url = "/TestUser/GetExcelData?guid=" + guid;
                    $import = $('#gridImport').bootstrapTable({
                        url: url,                           //请求后台的URL（*）
                        method: 'GET',                      //请求方式（*）
                        striped: true,                      //是否显示行间隔色
                        cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
                        pagination: false,                  //是否显示分页（*）
                        sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
                        pageNumber: 1,                      //初始化加载第一页，默认第一页,并记录
                        pageSize: 100,                     //每页的记录行数（*）
                        pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
                        search: false,                      //是否显示表格搜索
                        strictSearch: true,
                        showColumns: true,                  //是否显示所有的列（选择显示的列）
                        showRefresh: true,                  //是否显示刷新按钮
                        minimumCountColumns: 2,             //最少允许的列数
                        clickToSelect: true,               //是否启用点击选中行
                        uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
                        queryParams: function (params) { },
                        columns: [{
                            checkbox: true,
                            visible: true                  //是否显示复选框  
                        }, {
                            field: 'Name',
                            title: '姓名'
                        }, {
                            field: 'Mobile',
                            title: '手机'
                        }, {
                            field: 'Email',
                            title: '邮箱',
                            formatter: emailFormatter
                        }, {
                            field: 'Homepage',
                            title: '主页',
                            formatter: linkFormatter
                        }, {
                            field: 'Hobby',
                            title: '兴趣爱好'
                        }, {
                            field: 'Gender',
                            title: '性别',
                            formatter: sexFormatter
                        }, {
                            field: 'Age',
                            title: '年龄'
                        }, {
                            field: 'BirthDate',
                            title: '出生日期',
                            formatter: dateFormatter
                        }, {
                            field: 'Height',
                            title: '身高'
                        }, {
                            field: 'Note',
                            title: '备注'
                        }],
                        onLoadSuccess: function () {
                        },
                        onLoadError: function () {
                            showTips("数据加载失败！");
                        },
                    });
                };
                //保存导入的数据
                    function SaveImport() {
                        
                        var list = [];//构造集合对象
                        var rows = $import.bootstrapTable('getSelections');
                        for (var i = 0; i < rows.length; i++) {
                            list.push({
                                'Name': rows[i].Name, 'Mobile': rows[i].Mobile, 'Email': rows[i].Email, 'Homepage': rows[i].Homepage,
                                'Hobby': rows[i].Hobby, 'Gender': rows[i].Gender, 'Age': rows[i].Age, 'BirthDate': rows[i].BirthDate,
                                'Height': rows[i].Height, 'Note': rows[i].Note
                            });
                        }

                        if (list.length == 0) {
                            showToast("请选择一条记录", "warning");
                            return;
                        }

                        var postData = { 'list': list };//可以增加其他参数，如{ 'list': list, 'Rucanghao': $("#Rucanghao").val() };
                        postData = JSON.stringify(postData);

                        $.ajax({
                            url: '/TestUser/SaveExcelData',
                            type: 'post',
                            dataType: 'json',
                            contentType: 'application/json;charset=utf-8',
                            traditional: true,
                            success: function (data) {
                                if (data.Success) {
                                    //保存成功  1.关闭弹出层，2.清空记录显示 3.刷新主列表
                                    showToast("保存成功");

                                    $("#import").modal("hide");
                                    $(bodyTag).html("");
                                    Refresh();
                                }
                                else {
                                    showToast("保存失败:" + data.ErrorMessage, "error");
                                }
                            },
                            data: postData
                        });
                    }
                });



           